home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / presto / presto10.lha / src / Makefile.mips < prev    next >
Makefile  |  1991-12-11  |  6KB  |  245 lines

  1. #
  2. # Presto Makefile
  3. #
  4. # The top level targets are:
  5. #    base:        libpresto.a    -- optimized verson
  6. #    base_debug:    libpresto_d.a    -- compiled with -g
  7. #    profile:    libpresto_p.a    -- quartz version, optimized
  8. #    profile_debug:    libpresto_dp.a    -- quartz version, with -g
  9. #    gprof:        libpresto_pg.a    -- compiled for gprof
  10. #
  11. #    clean:        clean up all subdirectories
  12. #
  13.  
  14. P    =    
  15. CC    =    cxx        ## DEC field-test C++ compiler
  16. CPP    =    /lib/cpp
  17. DEST    =    /usr/local/lib
  18. CCSUFFIX=       C
  19. CSUFFIX =       c
  20. VPATH    =    ..
  21.  
  22. .SUFFIXES:
  23. .SUFFIXES: .o .c .$(CCSUFFIX)  .y .l .s
  24.  
  25.  
  26. DEFINES =    -DPRESTO
  27. CFLAGS2 =     
  28. CFLAGS1 =    -g
  29.  
  30. CFLAGS    =    $(DEFINES) $(CFLAGS1) $(CFLAGS2)
  31. LIBPRESTO  =    ./libpresto.a            # optimized with -O flag
  32. LIBPRESTO_D =    ./libpresto_d.a            # non-optimized
  33. LIBPRESTO_P =    ./libpresto_p.a            # compiled for quartz, optimized
  34. LIBPRESTO_DP =    ./libpresto_dp.a        # compiled for quartz, non-optimized
  35. LIBPRESTO_GP =    ./libpresto_pg.a        # compiled for gprof, non-optimized
  36. LDFLAGS =    
  37. LOWERCC =       /bin/cc
  38.  
  39. WHERE = 
  40.  
  41. CSRCFILES    =  shbrk.$(CCSUFFIX) smalloc.$(CCSUFFIX) SLOCK.$(CCSUFFIX) atack.$(CSUFFIX)
  42. COBJFILES    =  shbrk.o shmalloc.o SLOCK.o atack.o
  43.  
  44. SRCS    =    callstate.$(CCSUFFIX)    \
  45.         main_init.$(CCSUFFIX)    \
  46.         main_main.$(CCSUFFIX)    \
  47.         main_done.$(CCSUFFIX)    \
  48.         mips_lock.s      \
  49.         misc.$(CCSUFFIX)        \
  50.         objects.$(CCSUFFIX)    \
  51.         preempt.$(CCSUFFIX)    \
  52.         presto.$(CCSUFFIX)    \
  53.         process.$(CCSUFFIX)    \
  54.         pstream.$(CCSUFFIX)    \
  55.         scheduler.$(CCSUFFIX)    \
  56.         scheduler_sig.$(CCSUFFIX)    \
  57.         spinlock.$(CCSUFFIX)    \
  58.         stack.$(CCSUFFIX)        \
  59.         swtch.s        \
  60.         synchro.$(CCSUFFIX)    \
  61.         threads.$(CCSUFFIX)    \
  62.         timer.$(CCSUFFIX)        \
  63.         locks.$(CCSUFFIX)        \
  64.         debug.$(CCSUFFIX)
  65.  
  66. OBJS    =    callstate.o    \
  67.         main_init.o    \
  68.         main_main.o    \
  69.         main_done.o    \
  70.         mips_lock.o     \
  71.         misc.o        \
  72.         objects.o    \
  73.         preempt.o    \
  74.         presto.o    \
  75.         process.o    \
  76.         pstream.o    \
  77.         scheduler.o    \
  78.         scheduler_sig.o    \
  79.         spinlock.o    \
  80.         stack.o        \
  81.         swtch.o        \
  82.         synchro.o    \
  83.         threads.o    \
  84.         timer.o        \
  85.         locks.o        \
  86.         debug.o        \
  87.         $(COBJFILES)
  88.  
  89. HDRS    =    c.h        \
  90.         config.h    \
  91.         debug.h        \
  92.         defs.h        \
  93.         callstate.h    \
  94.         locks.h        \
  95.         machdep.h     \
  96.         objects.h     \
  97.         process.h     \
  98.         pstream.h    \
  99.         scheduler.h     \
  100.         spinlock.h     \
  101.         spinlock_impl.h    \
  102.         synchro.h     \
  103.         threads.h     \
  104.         threadq.h    \
  105.         timer.h        \
  106.         main.h        \
  107.         debug.h        \
  108.         stack.h         \
  109.                 asmdefs.h       \
  110.                 hc_slock_asm.h
  111.  
  112. THREADHDRS =    
  113.  
  114. all: base_debug base #profile profile_debug
  115.  
  116. clean:
  117.     rm -f */*.o */*..$(CCSUFFIX) */*.a
  118.  
  119.  
  120. base:;
  121.         (cd Base; make -f ../Makefile _base "CFLAGS1=-O2")
  122.  
  123. _base:    $(LIBPRESTO)
  124. $(LIBPRESTO): $(P)    $(OBJS)
  125.         ar rv $(LIBPRESTO) $(OBJS)
  126.         ranlib $(LIBPRESTO)
  127.         ln -s `pwd`/$(LIBPRESTO) ../
  128.  
  129. base_debug:;
  130.         (cd Base_debug; make -f ../Makefile _base_debug "CFLAGS1=-g")
  131.  
  132. _base_debug:    $(LIBPRESTO_D)
  133. $(LIBPRESTO_D): $(P)    $(OBJS)
  134.         ar rv $(LIBPRESTO_D) $(OBJS)
  135.         ranlib $(LIBPRESTO_D)
  136.         ln -s `pwd`/$(LIBPRESTO_D) ../
  137.  
  138. profile:;
  139.         (cd Profile; make -f ../Makefile _profile "CFLAGS1=-DPROFILE -O")
  140.  
  141. _profile:    $(LIBPRESTO_P)
  142. $(LIBPRESTO_P): $(P)    $(OBJS)
  143.         ar rv $(LIBPRESTO_P) $(OBJS)
  144.         ranlib $(LIBPRESTO_P)
  145.         ln -s `pwd`/$(LIBPRESTO_P) ../
  146.  
  147. profile_debug:;
  148.         (cd Profile_debug; \
  149.         make -f ../Makefile _profile_debug "CFLAGS1=-DPROFILE -g")
  150.  
  151. _profile_debug:    $(LIBPRESTO_DP)
  152. $(LIBPRESTO_DP): $(P)    $(OBJS)
  153.         ar rv $(LIBPRESTO_DP) $(OBJS)
  154.         ranlib $(LIBPRESTO_DP)
  155.         ln -s `pwd`/$(LIBPRESTO_DP) ../
  156.  
  157.  
  158. gprof:;
  159.         (cd GProf; make -f ../Makefile _gprof "CFLAGS1=-DGPROF -g -pg")
  160.  
  161. _gprof:        $(LIBPRESTO_GP)
  162. $(LIBPRESTO_GP): $(P)    $(OBJS)
  163.         ar rv $(LIBPRESTO_GP) $(OBJS)
  164.         ranlib $(LIBPRESTO_GP)
  165.         ln -s `pwd`/ $(LIBPRESTO_GP) ../
  166. ## Global
  167. ## Dependencies
  168. shmalloc.o:    shmalloc.$(CSUFFIX)
  169.         $(LOWERCC) $(CFLAGS) -c shmalloc.$(CSUFFIX) 
  170.  
  171. shbrk.o:    shbrk.$(CSUFFIX)
  172.         $(LOWERCC) $(CFLAGS) -c shbrk.$(CSUFFIX)
  173.  
  174. SLOCK.o:    SLOCK.$(CSUFFIX)
  175.         $(LOWERCC) $(CFLAGS) -c SLOCK.$(CSUFFIX)
  176.  
  177. atack.o:    atack.$(CSUFFIX)
  178.         $(LOWERCC) $(CFLAGS) -c atack.$(CSUFFIX)
  179.  
  180. objects.o:    objects.$(CCSUFFIX) $(HDRS)
  181.         $(CC) $(CFLAGS) -c objects.$(CCSUFFIX)
  182.  
  183. process.o:    process.$(CCSUFFIX) $(HDRS)
  184.         $(CC) $(CFLAGS) -c process.$(CCSUFFIX)
  185.  
  186. threads.o:    threads.$(CCSUFFIX) $(HDRS) $(THREADHDRS)
  187.         $(CC) $(CFLAGS) -c threads.$(CCSUFFIX)
  188.  
  189. mips_lock.o:    mips_lock.s
  190.         $(AS) -DPRESTO -DPREEMPT -I. -o $@ mips_lock.s
  191.  
  192. locks.o:    locks.$(CCSUFFIX) $(HDRS) locks.h
  193.         $(CC) $(CFLAGS) -c locks.$(CCSUFFIX)
  194.  
  195. swtch.o:    swtch.s threads.h objects.h
  196.         $(AS) -DPRESTO -DPREEMPT -I. -o swtch.o swtch.s 
  197.  
  198. stack.o:    $(HDRS) stack.h 
  199.         $(CC) $(CFLAGS) -c stack.$(CCSUFFIX)
  200.  
  201. callstate.o:    callstate.$(CCSUFFIX) $(HDRS) 
  202.         $(CC) $(CFLAGS) -c callstate.$(CCSUFFIX)
  203.  
  204. scheduler.o:    scheduler.$(CCSUFFIX) $(HDRS)
  205.         $(CC) $(CFLAGS) -c scheduler.$(CCSUFFIX)
  206.  
  207. scheduler_sig.o:    scheduler_sig.$(CCSUFFIX) $(HDRS)
  208.         $(CC) $(CFLAGS) -c scheduler_sig.$(CCSUFFIX)
  209.         
  210. synchro.o:    synchro.$(CCSUFFIX) $(HDRS)
  211.         $(CC) $(CFLAGS) -c synchro.$(CCSUFFIX)
  212.  
  213. #
  214. # the guy with the +e1 must include all header files with virtual funcs
  215. # in them so we get an emission for the vtbls.
  216. #
  217.  
  218. presto.o:    presto.$(CCSUFFIX) $(HDRS) presto.h callstate.h
  219.         $(CC) $(CFLAGS) -c presto.$(CCSUFFIX)
  220.  
  221. misc.o:        misc.$(CCSUFFIX) $(HDRS) presto.h
  222.         $(CC) $(CFLAGS) -c misc.$(CCSUFFIX)
  223.  
  224. pstream.o:    pstream.$(CCSUFFIX) pstream.h
  225.         $(CC) $(CFLAGS) -c pstream.$(CCSUFFIX)
  226.  
  227. timer.o:    timer.$(CCSUFFIX)  timer.h pstream.h
  228.         $(CC) $(CFLAGS) -c timer.$(CCSUFFIX)
  229.  
  230. preempt.o:    preempt.$(CCSUFFIX) $(HDRS)
  231.         $(CC) $(CFLAGS) -c preempt.$(CCSUFFIX)
  232.  
  233. spinlock.o:    spinlock.$(CCSUFFIX) $(HDRS)
  234.         $(CC) $(CFLAGS) -c spinlock.$(CCSUFFIX)
  235.  
  236. main_init.o:    main_init.$(CCSUFFIX) $(HDRS)
  237.         $(CC) $(CFLAGS) -c main_init.$(CCSUFFIX)
  238. main_main.o:    main_main.$(CCSUFFIX) $(HDRS)
  239.         $(CC) $(CFLAGS) -c main_main.$(CCSUFFIX)
  240. main_done.o:    main_done.$(CCSUFFIX) $(HDRS)
  241.         $(CC) $(CFLAGS) -c main_done.$(CCSUFFIX)
  242. debug.o:    debug.$(CCSUFFIX) debug.h
  243.         $(CC) $(CFLAGS) -c debug.$(CCSUFFIX)
  244.  
  245.